/*
	This script file is part of the Sonic 3 A.I.R. script software distribution.
	Copyright (C) 2017-2024 by Eukaryot

	Published under the GNU GPLv3 open source software license, see license.txt
	or https://www.gnu.org/licenses/gpl-3.0.en.html
*/



function void LevelObjectTableBuilder.buildObjects_ICZ1()
{
	LevelObjectTableBuilder.addObject(0x1820, 0x0500, OBJECTTABLE1_02, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1820, 0x0610, OBJECTTABLE1_02, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2710, 0x0480, OBJECTTABLE1_02, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2710, 0x0588, OBJECTTABLE1_02, 0x02, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 0)
	{
		LevelObjectTableBuilder.addObject(0x37e0, 0x05c8, OBJECTTABLE1_af, 0x03, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x37e1, 0x05e8, OBJECTTABLE1_af, 0x03, 0)
	}

	// Added blocker objects to prevent Knuckles from climbing up
	LevelObjectTableBuilder.addObject(0x37f1, 0x04f0, OBJECTTABLE1_28, 0x16, 0)
	LevelObjectTableBuilder.addObject(0x390f, 0x04f0, OBJECTTABLE1_28, 0x16, 0)

	LevelObjectTableBuilder.addObject(0x3930, 0x06d0, OBJECTTABLE1_02, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x3960, 0x06f0, OBJECTTABLE1_b3, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x39b4, 0x0628, OBJECTTABLE1_af, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x3a30, 0x0628, OBJECTTABLE1_af, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x3ab0, 0x05c8, OBJECTTABLE1_af, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x3b82, 0x0770, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x3bd0, 0x076f, OBJECTTABLE1_34, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x3bf3, 0x06ce, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3cb6, 0x07b3, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x3ce0, 0x0784, OBJECTTABLE1_b4, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3d10, 0x0658, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3dd5, 0x0730, OBJECTTABLE1_04, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3e0a, 0x07b0, OBJECTTABLE1_07, 0x10, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3f10, 0x06f2, OBJECTTABLE1_b3, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x3f18, 0x0248, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x3f38, 0x0238, OBJECTTABLE1_6a, 0x21, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x3f60, 0x0230, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x3fcd, 0x0320, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4018, 0x00c8, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4038, 0x00b8, OBJECTTABLE1_6a, 0x21, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4060, 0x0320, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4065, 0x00b0, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4080, 0x0640, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4098, 0x0048, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x40b0, 0x0038, OBJECTTABLE1_6a, 0x21, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x40c8, 0x0673, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x40c8, 0x067b, OBJECTTABLE1_33, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x40e0, 0x0030, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4120, 0x0320, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4140, 0x0692, OBJECTTABLE1_0f, 0x81, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x42b8, 0x0648, OBJECTTABLE1_85, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x42f3, 0x033d, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x42f3, 0x03dd, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x42f6, 0x03a7, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x42f7, 0x0370, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4380, 0x0430, OBJECTTABLE1_6a, 0xf1, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4380, 0x0448, OBJECTTABLE1_6a, 0x41, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x441d, 0x0402, OBJECTTABLE1_b0, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4498, 0x02c8, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4498, 0x0748, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x44b0, 0x0530, OBJECTTABLE1_6a, 0x31, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x44b8, 0x02c0, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x44d0, 0x0730, OBJECTTABLE1_6a, 0x31, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x44e8, 0x0548, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x44f8, 0x02b0, OBJECTTABLE1_6a, 0x81, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4540, 0x05b0, OBJECTTABLE1_6a, 0x31, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4568, 0x05c8, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4578, 0x00b0, OBJECTTABLE1_6a, 0x61, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x45a0, 0x06c8, OBJECTTABLE1_b1, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x45c8, 0x00b8, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x45e8, 0x00c8, OBJECTTABLE1_6a, 0x31, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4678, 0x06c8, OBJECTTABLE1_b1, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4720, 0x06f8, OBJECTTABLE1_6b, 0x11, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4738, 0x01c8, OBJECTTABLE1_85, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x4790, 0x0620, OBJECTTABLE1_af, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x4798, 0x06f8, OBJECTTABLE1_6b, 0x41, 0)
	LevelObjectTableBuilder.addObject(0x4850, 0x065b, OBJECTTABLE1_6b, 0x81, 0)
	LevelObjectTableBuilder.addObject(0x4850, 0x0740, OBJECTTABLE1_af, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x4884, 0x0234, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x4899, 0x0571, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4899, 0x0578, OBJECTTABLE1_01, 0x06 | 0x10, 0)
	LevelObjectTableBuilder.addObject(0x48d5, 0x0435, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x48d5, 0x043d, OBJECTTABLE1_07, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x48e3, 0x0243, OBJECTTABLE1_b4, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x490c, 0x0104, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x490d, 0x00cb, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x490f, 0x008a, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4940, 0x06f3, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4940, 0x06fc, OBJECTTABLE1_07, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x4978, 0x0280, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4979, 0x025e, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4995, 0x0132, OBJECTTABLE1_04, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x49a0, 0x0383, OBJECTTABLE1_b4, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x49b2, 0x0428, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x49b8, 0x0400, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4a88, 0x00f0, OBJECTTABLE1_ad, 0x30, 0)
	LevelObjectTableBuilder.addObject(0x4ae0, 0x00f0, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x4b20, 0x0444, OBJECTTABLE1_b4, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4b20, 0x05b0, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x4b78, 0x05b0, OBJECTTABLE1_ad, 0x20, 0)

	// Large wall blocking the upper path for Knuckles; it's actually missing in original Sonic 3 level layout
	LevelObjectTableBuilder.addObject(0x4be0, 0x03d3, OBJECTTABLE1_af, 0x05, 0)

	LevelObjectTableBuilder.addObject(0x4bf0, 0x05b2, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x4c20, 0x0580, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4c46, 0x05b3, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4c46, 0x05bc, OBJECTTABLE1_07, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x4cd0, 0x054a, OBJECTTABLE1_b1, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4d10, 0x01f1, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4d40, 0x00dd, OBJECTTABLE1_6b, 0x81, 0)
	LevelObjectTableBuilder.addObject(0x4d40, 0x01f0, OBJECTTABLE1_af, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x4d80, 0x0570, OBJECTTABLE1_ad, 0x20, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4e76, 0x0150, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4e80, 0x0570, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x4ec0, 0x015d, OBJECTTABLE1_6b, 0x61, 0)
	LevelObjectTableBuilder.addObject(0x4ec0, 0x0250, OBJECTTABLE1_af, 0x01, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x4f08, 0x0778, OBJECTTABLE1_b8, 0x00, 0)
		LevelObjectTableBuilder.addObject(0x4f0a, 0x07a0, OBJECTTABLE1_b8, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x4f10, 0x0270, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4f10, 0x05bf, OBJECTTABLE1_b8, 0x00, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 0)
	{
		LevelObjectTableBuilder.addObject(0x4f10, 0x05f8, OBJECTTABLE1_b8, 0x00, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x4f10, 0x0600, OBJECTTABLE1_b8, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x4f10, 0x0630, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4f20, 0x05a0, OBJECTTABLE1_b8, 0x02, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x4f38, 0x0778, OBJECTTABLE1_b8, 0x02, 0)
		LevelObjectTableBuilder.addObject(0x4f48, 0x07f2, OBJECTTABLE1_b6, 0x00, 0)
		LevelObjectTableBuilder.addObject(0x4f48, 0x07f3, OBJECTTABLE1_01, 0x06, 0)
	}

	LevelObjectTableBuilder.addObject(0x4f58, 0x05b8, OBJECTTABLE1_b8, 0x02, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x4f78, 0x0768, OBJECTTABLE1_b8, 0x02, 0)
	}

	LevelObjectTableBuilder.addObject(0x4f88, 0x06dc, OBJECTTABLE1_b8, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x4f8a, 0x003c, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4f8a, 0x0068, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4f90, 0x05a0, OBJECTTABLE1_b8, 0x02, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x4fa0, 0x0778, OBJECTTABLE1_b8, 0x02, 0)
		LevelObjectTableBuilder.addObject(0x4fb8, 0x07f8, OBJECTTABLE1_b8, 0x02, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x4fb8, 0x07e4, OBJECTTABLE1_b8, 0x02, 0)
	}

	LevelObjectTableBuilder.addObject(0x4fc0, 0x015d, OBJECTTABLE1_6b, 0x81, 0)
	LevelObjectTableBuilder.addObject(0x4fc0, 0x0290, OBJECTTABLE1_af, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x4fd0, 0x05c0, OBJECTTABLE1_b8, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x4fd0, 0x06c8, OBJECTTABLE1_b8, 0x02, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x4fd0, 0x0776, OBJECTTABLE1_b8, 0x02, 0)
		LevelObjectTableBuilder.addObject(0x4fe0, 0x0070, OBJECTTABLE1_ad, 0x20, LVLOBJ_FLIP_X)
	}

	LevelObjectTableBuilder.addObject(0x4ff0, 0x0800, OBJECTTABLE1_b8, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x5008, 0x05de, OBJECTTABLE1_b8, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x5008, 0x06d8, OBJECTTABLE1_b8, 0x02, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 0)
	{
		LevelObjectTableBuilder.addObject(0x5028, 0x07e8, OBJECTTABLE1_b8, 0x02, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x5030, 0x07f8, OBJECTTABLE1_b8, 0x02, 0)
	}

	LevelObjectTableBuilder.addObject(0x5040, 0x05c0, OBJECTTABLE1_b8, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x5048, 0x06b0, OBJECTTABLE1_b8, 0x02, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x5068, 0x05db, OBJECTTABLE1_b8, 0x02, 0)
	}

	LevelObjectTableBuilder.addObject(0x5080, 0x06d8, OBJECTTABLE1_b8, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x50b8, 0x06b0, OBJECTTABLE1_b8, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x50c0, 0x019d, OBJECTTABLE1_6b, 0x81, 0)
	LevelObjectTableBuilder.addObject(0x50c0, 0x02d0, OBJECTTABLE1_af, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x50f6, 0x053b, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x50f6, 0x0680, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	}

	LevelObjectTableBuilder.addObject(0x50f6, 0x06b0, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x50f6, 0x06f0, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x50f6, 0x0730, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 0)
	{
		LevelObjectTableBuilder.addObject(0x50f6, 0x0778, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	}

	LevelObjectTableBuilder.addObject(0x5170, 0x0043, OBJECTTABLE1_b1, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5170, 0x07c3, OBJECTTABLE1_b1, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x51e8, 0x03e0, OBJECTTABLE1_6b, 0x14, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x5220, 0x01dd, OBJECTTABLE1_6b, 0x81, 0)
	LevelObjectTableBuilder.addObject(0x5220, 0x0260, OBJECTTABLE1_af, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x5240, 0x0418, OBJECTTABLE1_6b, 0x81, 0)
	LevelObjectTableBuilder.addObject(0x5260, 0x0300, OBJECTTABLE1_af, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x5261, 0x0043, OBJECTTABLE1_b1, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5261, 0x07c3, OBJECTTABLE1_b1, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x52c0, 0x03b0, OBJECTTABLE1_6a, 0x51, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5318, 0x07d0, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5358, 0x07b8, OBJECTTABLE1_6a, 0x21, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5398, 0x0750, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x53d8, 0x0738, OBJECTTABLE1_6a, 0x21, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x53f0, 0x01f0, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x53f0, 0x01f1, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x5418, 0x06d0, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5458, 0x06b8, OBJECTTABLE1_6a, 0x21, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5460, 0x0190, OBJECTTABLE1_b5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5480, 0x0211, OBJECTTABLE1_6a, 0xd1, 0)
	LevelObjectTableBuilder.addObject(0x54b0, 0x0190, OBJECTTABLE1_b5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x54d8, 0x05b0, OBJECTTABLE1_04, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x5540, 0x0534, OBJECTTABLE1_6a, 0x51, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5580, 0x017a, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x55e8, 0x0420, OBJECTTABLE1_6b, 0x14, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x5650, 0x042d, OBJECTTABLE1_34, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x5660, 0x0190, OBJECTTABLE1_b5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5690, 0x0211, OBJECTTABLE1_6a, 0xf1, 0)
	LevelObjectTableBuilder.addObject(0x56c8, 0x05b4, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x56c8, 0x05bc, OBJECTTABLE1_33, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x56d0, 0x0190, OBJECTTABLE1_b5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x56d0, 0x042e, OBJECTTABLE1_b0, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x5740, 0x05d1, OBJECTTABLE1_0f, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x5747, 0x0190, OBJECTTABLE1_b5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5778, 0x0211, OBJECTTABLE1_6a, 0xe1, 0)
	LevelObjectTableBuilder.addObject(0x57b8, 0x0190, OBJECTTABLE1_b5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x57c0, 0x0734, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x57c0, 0x073c, OBJECTTABLE1_33, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x5840, 0x0751, OBJECTTABLE1_0f, 0x83, 0)
	LevelObjectTableBuilder.addObject(0x5848, 0x01f3, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5848, 0x01fc, OBJECTTABLE1_07, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x58f5, 0x044f, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x58f9, 0x042c, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x5918, 0x0348, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5958, 0x0330, OBJECTTABLE1_6a, 0x21, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5a60, 0x0490, OBJECTTABLE1_b5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5a98, 0x0511, OBJECTTABLE1_6a, 0xf1, 0)
	LevelObjectTableBuilder.addObject(0x5a9f, 0x0248, OBJECTTABLE1_b1, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5ac0, 0x0490, OBJECTTABLE1_b5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5b10, 0x0490, OBJECTTABLE1_b5, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5b30, 0x0248, OBJECTTABLE1_b1, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5b38, 0x0511, OBJECTTABLE1_6a, 0x61, 0)
	LevelObjectTableBuilder.addObject(0x5bd0, 0x0248, OBJECTTABLE1_b1, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5c18, 0x06c8, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5c58, 0x06b0, OBJECTTABLE1_6a, 0x21, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5c80, 0x0248, OBJECTTABLE1_b1, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5da0, 0x0270, OBJECTTABLE1_6b, 0x14, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x5e90, 0x01f0, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5e92, 0x0570, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5eb0, 0x067c, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x5ef0, 0x0570, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5f10, 0x0570, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5f40, 0x00dd, OBJECTTABLE1_6b, 0x81, 0)
	LevelObjectTableBuilder.addObject(0x5f40, 0x0210, OBJECTTABLE1_af, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x5f70, 0x0570, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5f90, 0x0570, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x5ff0, 0x0570, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x6040, 0x015d, OBJECTTABLE1_6b, 0x61, 0)
	LevelObjectTableBuilder.addObject(0x6040, 0x0252, OBJECTTABLE1_af, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x6140, 0x01f4, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x6140, 0x01fc, OBJECTTABLE1_33, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x61c0, 0x0211, OBJECTTABLE1_0f, 0x84, 0)
	LevelObjectTableBuilder.addObject(0x61d0, 0x06fc, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x6210, 0x0770, OBJECTTABLE1_ad, 0x20, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x6284, 0x0534, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x6298, 0x06fc, OBJECTTABLE1_b2, 0x00, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 0)
	{
		LevelObjectTableBuilder.addObject(0x62b6, 0x0630, OBJECTTABLE1_07, 0x12, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x62b8, 0x0630, OBJECTTABLE1_07, 0x12, 0)
	}

	LevelObjectTableBuilder.addObject(0x62e3, 0x0543, OBJECTTABLE1_b4, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x62e3, 0x0783, OBJECTTABLE1_b4, 0x00, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 0)
	{
		LevelObjectTableBuilder.addObject(0x63a0, 0x0603, OBJECTTABLE1_b4, 0x00, LVLOBJ_FLIP_X)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x63a0, 0x0604, OBJECTTABLE1_b4, 0x00, LVLOBJ_FLIP_X)
	}

	LevelObjectTableBuilder.addObject(0x63f9, 0x05f0, OBJECTTABLE1_07, 0x12, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x6460, 0x057b, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x6477, 0x0330, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x64a3, 0x0483, OBJECTTABLE1_b4, 0x00, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x6500, 0x05d0, OBJECTTABLE1_ad, 0x20, 0)
	}

	LevelObjectTableBuilder.addObject(0x6555, 0x0330, OBJECTTABLE1_04, 0x00, LVLOBJ_FLIP_X)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 0)
	{
		LevelObjectTableBuilder.addObject(0x658a, 0x05d0, OBJECTTABLE1_ad, 0x20, 0)
	}

	LevelObjectTableBuilder.addObject(0x6598, 0x0431, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)

	// Large wall blocking the upper path for Knuckles; it's actually missing in original Sonic 3 level layout
	LevelObjectTableBuilder.addObject(0x65a0, 0x0294, OBJECTTABLE1_af, 0x05, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x65a8, 0x05d0, OBJECTTABLE1_ad, 0x20, 0)
	}

	LevelObjectTableBuilder.addObject(0x65ca, 0x043f, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x65f8, 0x0565, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x65fa, 0x0217, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x6600, 0x0275, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x6600, 0x0448, OBJECTTABLE1_6a, 0x31, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x6620, 0x05c8, OBJECTTABLE1_b1, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x6638, 0x043f, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x6668, 0x0431, OBJECTTABLE1_6a, 0x11, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x6680, 0x03ed, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x668d, 0x0380, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x668f, 0x0352, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x669f, 0x0303, OBJECTTABLE1_b4, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x6729, 0x03f3, OBJECTTABLE1_ad, 0x20, LVLOBJ_FLIP_X)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x67a8, 0x060a, OBJECTTABLE1_6c, 0x0c, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x67a8, 0x060b, OBJECTTABLE1_6c, 0x0c, 0)
	}

	LevelObjectTableBuilder.addObject(0x67f1, 0x03ae, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x67f4, 0x035e, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x67f5, 0x03f2, OBJECTTABLE1_01, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x67f6, 0x0384, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x6800, 0x03f2, OBJECTTABLE1_07, 0x10, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x680c, 0x0360, OBJECTTABLE1_28, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x6900, 0x0220, OBJECTTABLE1_af, 0x03, 0)

	u16[A0] = 0xffff
	A0 += 2
}


function void LevelObjectTableBuilder.buildObjects_ICZ2()
{
	LevelObjectTableBuilder.addObject(0x02b0, 0x0328, OBJECTTABLE1_af, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x02b0, 0x0628, OBJECTTABLE1_af, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0300, 0x03d0, OBJECTTABLE1_b9, 0x18, 0)
	LevelObjectTableBuilder.addObject(0x0380, 0x03ed, OBJECTTABLE1_34, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x03d0, 0x06f2, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x03d0, 0x06fa, OBJECTTABLE1_33, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x0442, 0x08b0, OBJECTTABLE1_34, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x0446, 0x0711, OBJECTTABLE1_0f, 0x81, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0504, 0x0450, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x0780, 0x0392, OBJECTTABLE1_80, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0780, 0x0992, OBJECTTABLE1_80, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x07d0, 0x0393, OBJECTTABLE1_80, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x07d0, 0x0993, OBJECTTABLE1_80, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x07f0, 0x0280, OBJECTTABLE1_bc, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x07f0, 0x0890, OBJECTTABLE1_bc, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0818, 0x0392, OBJECTTABLE1_80, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x0818, 0x0992, OBJECTTABLE1_80, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x085b, 0x0375, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0a48, 0x0975, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0a48, 0x097b, OBJECTTABLE1_07, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0ae0, 0x084a, OBJECTTABLE1_ae, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x0b20, 0x0826, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0b40, 0x0826, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0b60, 0x0823, OBJECTTABLE1_b7, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x0b90, 0x0820, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0bf0, 0x0820, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0c08, 0x0470, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0c08, 0x0471, OBJECTTABLE1_01, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x0c10, 0x0820, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0c55, 0x03d0, OBJECTTABLE1_04, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x0c84, 0x0440, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0ccd, 0x0420, OBJECTTABLE1_b2, 0x00, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x0d10, 0x0360, OBJECTTABLE1_ae, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x0d83, 0x0371, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x0de0, 0x00d0, OBJECTTABLE1_02, 0x22, 0)
	LevelObjectTableBuilder.addObject(0x0de0, 0x0200, OBJECTTABLE1_02, 0x22, 0)
	LevelObjectTableBuilder.addObject(0x0de0, 0x0300, OBJECTTABLE1_02, 0x22, 0)
	LevelObjectTableBuilder.addObject(0x0e00, 0x0480, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x0e00, 0x0880, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x0f00, 0x0510, OBJECTTABLE1_02, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x1017, 0x0371, OBJECTTABLE1_ad, 0x10, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x104a, 0x0373, OBJECTTABLE1_ad, 0x20, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x104a, 0x03f1, OBJECTTABLE1_ad, 0x20, LVLOBJ_FLIP_Y)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x10c0, 0x0384, OBJECTTABLE1_ba, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x1106, 0x03e8, OBJECTTABLE1_02, 0x42, 0)
	LevelObjectTableBuilder.addObject(0x1120, 0x0183, OBJECTTABLE1_02, 0x42, 0)
	LevelObjectTableBuilder.addObject(0x11c0, 0x0453, OBJECTTABLE1_b3, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x11c6, 0x01aa, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x11f0, 0x09e0, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x127e, 0x01b0, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x12a5, 0x0a03, OBJECTTABLE1_b4, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1305, 0x01d0, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x131d, 0x05de, OBJECTTABLE1_b9, 0x00, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 0)
	{
		LevelObjectTableBuilder.addObject(0x1344, 0x05d3, OBJECTTABLE1_ad, 0x20, 0)
	}

	LevelObjectTableBuilder.addObject(0x134e, 0x05de, OBJECTTABLE1_b9, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1355, 0x08f0, OBJECTTABLE1_04, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x13c0, 0x0598, OBJECTTABLE1_02, 0x8d, 0)
	LevelObjectTableBuilder.addObject(0x1400, 0x0160, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x1400, 0x0270, OBJECTTABLE1_02, 0x89, 0)
	LevelObjectTableBuilder.addObject(0x1400, 0x0470, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x1400, 0x0890, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x1440, 0x0b48, OBJECTTABLE1_85, 0x05, 0)
	LevelObjectTableBuilder.addObject(0x14a0, 0x05b0, OBJECTTABLE1_02, 0x12, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		LevelObjectTableBuilder.addObject(0x1510, 0x0be2, OBJECTTABLE1_07, 0x02, 0)
		LevelObjectTableBuilder.addObject(0x1510, 0x0bfa, OBJECTTABLE1_bb, 0x00, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x1510, 0x0bf8, OBJECTTABLE1_07, 0x02, 0)
	}

	LevelObjectTableBuilder.addObject(0x1530, 0x0908, OBJECTTABLE1_2a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1530, 0x0910, OBJECTTABLE1_2a, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1530, 0x0918, OBJECTTABLE1_2a, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x1530, 0x0920, OBJECTTABLE1_2a, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x1530, 0x0928, OBJECTTABLE1_2a, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x1538, 0x0a10, OBJECTTABLE1_02, 0x14, 0)
	LevelObjectTableBuilder.addObject(0x153c, 0x0ad6, OBJECTTABLE1_b0, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x1540, 0x05eb, OBJECTTABLE1_ae, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1580, 0x0880, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x1588, 0x08a4, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x15b0, 0x0ab3, OBJECTTABLE1_ad, 0x20, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x15f8, 0x02f0, OBJECTTABLE1_ad, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1640, 0x05d0, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1650, 0x0ab3, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x165d, 0x01b2, OBJECTTABLE1_ad, 0x20, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1684, 0x01d0, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1710, 0x0ad6, OBJECTTABLE1_b0, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x1768, 0x0608, OBJECTTABLE1_6c, 0x0c, 0)
	LevelObjectTableBuilder.addObject(0x1780, 0x0180, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x1780, 0x0300, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x17c3, 0x0ab3, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x1830, 0x0a20, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1850, 0x0328, OBJECTTABLE1_02, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x18a0, 0x01e0, OBJECTTABLE1_02, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x1900, 0x09f6, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1924, 0x0223, OBJECTTABLE1_b4, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1968, 0x03ea, OBJECTTABLE1_6c, 0x8c, 0)
	LevelObjectTableBuilder.addObject(0x1984, 0x0a70, OBJECTTABLE1_07, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x19c0, 0x05f0, OBJECTTABLE1_b3, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x1a55, 0x01d0, OBJECTTABLE1_04, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1a63, 0x0a83, OBJECTTABLE1_b4, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1a88, 0x08a4, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1a88, 0x08d4, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1ab8, 0x0520, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1ac0, 0x0948, OBJECTTABLE1_ba, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1ad4, 0x004d, OBJECTTABLE1_02, 0x21, 0)
	LevelObjectTableBuilder.addObject(0x1ad4, 0x010c, OBJECTTABLE1_02, 0x22, 0)
	LevelObjectTableBuilder.addObject(0x1af5, 0x08c0, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1af5, 0x08f4, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x1b20, 0x04f8, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b78, 0x0173, OBJECTTABLE1_ad, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1b78, 0x04fd, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1b80, 0x0817, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1bc0, 0x0518, OBJECTTABLE1_02, 0x8d, 0)
	LevelObjectTableBuilder.addObject(0x1be0, 0x00f2, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x1be0, 0x0170, OBJECTTABLE1_ad, 0x20, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x1c00, 0x0400, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x1c50, 0x0052, OBJECTTABLE1_02, 0x41, 0)
	LevelObjectTableBuilder.addObject(0x1c50, 0x0112, OBJECTTABLE1_02, 0x42, 0)
	LevelObjectTableBuilder.addObject(0x1ca0, 0x0530, OBJECTTABLE1_02, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x1cd0, 0x035a, OBJECTTABLE1_01, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x1ce8, 0x08aa, OBJECTTABLE1_6c, 0x8c, 0)
	LevelObjectTableBuilder.addObject(0x1d8d, 0x0328, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1d8d, 0x03a0, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1d8d, 0x03d0, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1da0, 0x07e0, OBJECTTABLE1_af, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1e00, 0x0102, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1e00, 0x010b, OBJECTTABLE1_07, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x1e00, 0x0180, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x1e00, 0x0502, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1e00, 0x050b, OBJECTTABLE1_07, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x1e00, 0x0580, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x1e98, 0x05b0, OBJECTTABLE1_02, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x1ea8, 0x0326, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1ec0, 0x0326, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1ed0, 0x0130, OBJECTTABLE1_02, 0x0d, 0)
	LevelObjectTableBuilder.addObject(0x1ed8, 0x0326, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1f00, 0x0870, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x1f00, 0x0980, OBJECTTABLE1_02, 0x09, 0)
	LevelObjectTableBuilder.addObject(0x1f20, 0x01d0, OBJECTTABLE1_02, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x1f7b, 0x0091, OBJECTTABLE1_ad, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x1f97, 0x0599, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x1fd0, 0x05fa, OBJECTTABLE1_b9, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2000, 0x0494, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2020, 0x03f4, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2020, 0x03f8, OBJECTTABLE1_01, 0x01, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x2030, 0x0220, OBJECTTABLE1_b2, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x2050, 0x03f4, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2050, 0x03fc, OBJECTTABLE1_33, 0x01, 0)
	LevelObjectTableBuilder.addObject(0x2058, 0x0498, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2098, 0x05e0, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x20a8, 0x0908, OBJECTTABLE1_6c, 0x0c, 0)
	LevelObjectTableBuilder.addObject(0x20c0, 0x0411, OBJECTTABLE1_0f, 0x81, 0)
	LevelObjectTableBuilder.addObject(0x20c0, 0x04fe, OBJECTTABLE1_b9, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x20e0, 0x04fc, OBJECTTABLE1_b9, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2100, 0x0070, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x2130, 0x0688, OBJECTTABLE1_2a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2130, 0x0690, OBJECTTABLE1_2a, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2130, 0x0698, OBJECTTABLE1_2a, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2130, 0x06a0, OBJECTTABLE1_2a, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x2130, 0x06a8, OBJECTTABLE1_2a, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x2130, 0x08f4, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2138, 0x0800, OBJECTTABLE1_02, 0x14, 0)
	LevelObjectTableBuilder.addObject(0x2150, 0x0a52, OBJECTTABLE1_af, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2180, 0x0600, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x21d0, 0x0298, OBJECTTABLE1_02, 0x8d, 0)
	LevelObjectTableBuilder.addObject(0x21f8, 0x08f0, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x2200, 0x0110, OBJECTTABLE1_02, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x2200, 0x0380, OBJECTTABLE1_02, 0x89, 0)
	LevelObjectTableBuilder.addObject(0x2240, 0x08f4, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2240, 0x08fc, OBJECTTABLE1_33, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2250, 0x09f0, OBJECTTABLE1_ad, 0x20, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x22c0, 0x0911, OBJECTTABLE1_0f, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x2310, 0x0568, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2340, 0x0440, OBJECTTABLE1_b9, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2353, 0x0544, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2380, 0x09f0, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x23b0, 0x0608, OBJECTTABLE1_2a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x23b0, 0x0610, OBJECTTABLE1_2a, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x23b0, 0x0618, OBJECTTABLE1_2a, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x23b0, 0x0620, OBJECTTABLE1_2a, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x23b0, 0x0628, OBJECTTABLE1_2a, 0x08, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x23b8, 0x0648, OBJECTTABLE1_26, 0x44, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x23b8, 0x0660, OBJECTTABLE1_26, 0x44, 0)
	}

	LevelObjectTableBuilder.addObject(0x23d0, 0x044c, OBJECTTABLE1_b9, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2400, 0x0580, OBJECTTABLE1_02, 0x91, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x2473, 0x03fb, OBJECTTABLE1_b2, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x24d0, 0x09f1, OBJECTTABLE1_ad, 0x40, 0)
	LevelObjectTableBuilder.addObject(0x24e0, 0x08d8, OBJECTTABLE1_26, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x24f0, 0x08d8, OBJECTTABLE1_02, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x2500, 0x0400, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x2520, 0x09f2, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x2610, 0x0490, OBJECTTABLE1_02, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x26c0, 0x00b3, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x26c2, 0x0a18, OBJECTTABLE1_02, 0x8d, 0)
	LevelObjectTableBuilder.addObject(0x2700, 0x08f0, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x2740, 0x01dd, OBJECTTABLE1_b9, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2760, 0x01dc, OBJECTTABLE1_b9, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x27a8, 0x0270, OBJECTTABLE1_26, 0x44, 0)
	LevelObjectTableBuilder.addObject(0x27b0, 0x0208, OBJECTTABLE1_2a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x27b0, 0x0210, OBJECTTABLE1_2a, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x27b0, 0x0218, OBJECTTABLE1_2a, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x27b0, 0x0220, OBJECTTABLE1_2a, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x27b0, 0x0228, OBJECTTABLE1_2a, 0x08, 0)

	// Slightly moved this path swapper up so it works more reliably
	LevelObjectTableBuilder.addObject(0x27d0, 0x01a0 - 8, OBJECTTABLE1_02, 0x8d, 0)

	LevelObjectTableBuilder.addObject(0x27e0, 0x0a20, OBJECTTABLE1_02, 0x12, 0)
	LevelObjectTableBuilder.addObject(0x2800, 0x0070, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x28b6, 0x0a73, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x2900, 0x0450, OBJECTTABLE1_02, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x2968, 0x0a88, OBJECTTABLE1_6c, 0x0c, 0)
	LevelObjectTableBuilder.addObject(0x2970, 0x0458, OBJECTTABLE1_26, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2be0, 0x0750, OBJECTTABLE1_ba, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2be0, 0x08e0, OBJECTTABLE1_ba, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2be8, 0x0608, OBJECTTABLE1_6c, 0x0c, 0)
	LevelObjectTableBuilder.addObject(0x2c30, 0x0750, OBJECTTABLE1_bb, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2c30, 0x08e0, OBJECTTABLE1_bb, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2c60, 0x0a38, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2c90, 0x05fd, OBJECTTABLE1_b9, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2cc0, 0x05fd, OBJECTTABLE1_b9, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2cc3, 0x02f6, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2cc3, 0x02fd, OBJECTTABLE1_07, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2d00, 0x0a70, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2d30, 0x0488, OBJECTTABLE1_2a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2d30, 0x0490, OBJECTTABLE1_2a, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x2d30, 0x0498, OBJECTTABLE1_2a, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2d30, 0x04a0, OBJECTTABLE1_2a, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x2d30, 0x04a8, OBJECTTABLE1_2a, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x2d38, 0x0588, OBJECTTABLE1_02, 0x14, 0)
	LevelObjectTableBuilder.addObject(0x2d45, 0x0ad6, OBJECTTABLE1_b0, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x2d58, 0x0110, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2d80, 0x03f8, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x2dd0, 0x0a21, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2dd0, 0x0ad6, OBJECTTABLE1_b0, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x2e60, 0x0a1f, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2e60, 0x0ad6, OBJECTTABLE1_b0, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x2ec6, 0x05f4, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x2ee8, 0x016a, OBJECTTABLE1_6c, 0x8c, 0)
	LevelObjectTableBuilder.addObject(0x2ef8, 0x0a18, OBJECTTABLE1_b2, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2ef8, 0x0ad6, OBJECTTABLE1_b0, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x2efd, 0x05f0, OBJECTTABLE1_07, 0x10, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2f6c, 0x0508, OBJECTTABLE1_af, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x2f6c, 0x05e0, OBJECTTABLE1_6b, 0x41, 0)
	LevelObjectTableBuilder.addObject(0x2f90, 0x017c, OBJECTTABLE1_b9, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x2fb8, 0x0ab2, OBJECTTABLE1_ad, 0x20, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x2fc0, 0x017c, OBJECTTABLE1_b9, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3030, 0x0608, OBJECTTABLE1_2a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3030, 0x0610, OBJECTTABLE1_2a, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x3030, 0x0618, OBJECTTABLE1_2a, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x3030, 0x0620, OBJECTTABLE1_2a, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x3030, 0x0628, OBJECTTABLE1_2a, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x3038, 0x0640, OBJECTTABLE1_26, 0x44, 0)
	LevelObjectTableBuilder.addObject(0x3042, 0x0ab3, OBJECTTABLE1_ad, 0x20, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x3080, 0x0550, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x30c0, 0x0ad4, OBJECTTABLE1_b0, 0x06, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 2)
	{
		LevelObjectTableBuilder.addObject(0x30f0, 0x0be2, OBJECTTABLE1_07, 0x02, 0)
		LevelObjectTableBuilder.addObject(0x30f0, 0x0bfa, OBJECTTABLE1_bb, 0x00, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x30f0, 0x0bfa, OBJECTTABLE1_07, 0x00, 0)
	}

	LevelObjectTableBuilder.addObject(0x3168, 0x08d8, OBJECTTABLE1_26, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3170, 0x08d4, OBJECTTABLE1_02, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x31b0, 0x0208, OBJECTTABLE1_2a, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x31b0, 0x0210, OBJECTTABLE1_2a, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x31b0, 0x0218, OBJECTTABLE1_2a, 0x04, 0)
	LevelObjectTableBuilder.addObject(0x31b0, 0x0220, OBJECTTABLE1_2a, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x31b0, 0x0228, OBJECTTABLE1_2a, 0x08, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x31b8, 0x0248, OBJECTTABLE1_26, 0x44, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x31b8, 0x025a, OBJECTTABLE1_26, 0x44, 0)
	}

	LevelObjectTableBuilder.addObject(0x31c0, 0x0a2f, OBJECTTABLE1_34, 0x05, 0)
	LevelObjectTableBuilder.addObject(0x31c0, 0x0b48, OBJECTTABLE1_85, 0x03, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x31e8, 0x08e8, OBJECTTABLE1_ad, 0x10, 0)
	}

	LevelObjectTableBuilder.addObject(0x3200, 0x0180, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x3205, 0x0a51, OBJECTTABLE1_07, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x33b0, 0x05b2, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x33b0, 0x05b4, OBJECTTABLE1_01, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x33e0, 0x05b2, OBJECTTABLE1_b6, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x33e0, 0x05b4, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x33f0, 0x0458, OBJECTTABLE1_26, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x340c, 0x0720, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3410, 0x0430, OBJECTTABLE1_02, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x3410, 0x0699, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3410, 0x06f0, OBJECTTABLE1_b8, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3460, 0x0860, OBJECTTABLE1_ba, 0x00, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x3488, 0x0471, OBJECTTABLE1_ad, 0x10, 0)
	}

	LevelObjectTableBuilder.addObject(0x349b, 0x0973, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x349b, 0x0976, OBJECTTABLE1_01, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x34b0, 0x0860, OBJECTTABLE1_bb, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x34cb, 0x0973, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x34cb, 0x0976, OBJECTTABLE1_01, 0x02, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x34d0, 0x0220, OBJECTTABLE1_ae, 0x02, 0)
	}

	LevelObjectTableBuilder.addObject(0x34d0, 0x0740, OBJECTTABLE1_bb, 0x00, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x34f4, 0x0270, OBJECTTABLE1_b6, 0x00, 0)
		LevelObjectTableBuilder.addObject(0x34f4, 0x0272, OBJECTTABLE1_01, 0x01, 0)
		LevelObjectTableBuilder.addObject(0x3502, 0x048f, OBJECTTABLE1_ad, 0x10, LVLOBJ_FLIP_X)
	}

	LevelObjectTableBuilder.addObject(0x3511, 0x09f6, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x3520, 0x0740, OBJECTTABLE1_ba, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3529, 0x09fa, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) != 0)
	{
		LevelObjectTableBuilder.addObject(0x3530, 0x0250, OBJECTTABLE1_ae, 0x02, 0)
	}

	LevelObjectTableBuilder.addObject(0x3540, 0x098c, OBJECTTABLE1_ba, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3541, 0x09fa, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x3559, 0x09fa, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x3570, 0x06cc, OBJECTTABLE1_02, 0x09, 0)
	LevelObjectTableBuilder.addObject(0x3570, 0x0740, OBJECTTABLE1_bb, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3570, 0x0788, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3570, 0x07d8, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3571, 0x09f6, OBJECTTABLE1_b7, 0x00, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x357d, 0x07b2, OBJECTTABLE1_b8, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x35e8, 0x0288, OBJECTTABLE1_6c, 0x0c, 0)
	LevelObjectTableBuilder.addObject(0x3620, 0x0428, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3620, 0x05f1, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x3637, 0x042d, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3653, 0x042d, OBJECTTABLE1_b7, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x366a, 0x05f1, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x366d, 0x0425, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x36c0, 0x0617, OBJECTTABLE1_ba, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x36c0, 0x06a0, OBJECTTABLE1_02, 0x0d, 0)
	LevelObjectTableBuilder.addObject(0x36e8, 0x0488, OBJECTTABLE1_6c, 0x0c, 0)
	LevelObjectTableBuilder.addObject(0x36f0, 0x06f1, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x3734, 0x0427, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3748, 0x05f4, OBJECTTABLE1_b6, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3748, 0x05f6, OBJECTTABLE1_01, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x3750, 0x0428, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x376c, 0x0423, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x378c, 0x0423, OBJECTTABLE1_b7, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3795, 0x0230, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x37e0, 0x0230, OBJECTTABLE1_ad, 0x10, 0)

	// Added this path swapper to enforce path 0 (though I have no idea how you could get there in path 1; but I got a game recording by T.Q. showing that)
	LevelObjectTableBuilder.addObject(0x3860, 0x0490, OBJECTTABLE1_02, 0x01, 0)

	LevelObjectTableBuilder.addObject(0x38d0, 0x0398, OBJECTTABLE1_02, 0x8d, 0)
	LevelObjectTableBuilder.addObject(0x38d0, 0x0498, OBJECTTABLE1_02, 0x8d, 0)
	LevelObjectTableBuilder.addObject(0x38d0, 0x0498, OBJECTTABLE1_02, 0x8d, 0)
	LevelObjectTableBuilder.addObject(0x3900, 0x01f0, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x3a60, 0x050e, OBJECTTABLE1_02, 0x11, 0)
	LevelObjectTableBuilder.addObject(0x3a88, 0x05e0, OBJECTTABLE1_6b, 0x14, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x3b00, 0x04f0, OBJECTTABLE1_02, 0x91, 0)
	LevelObjectTableBuilder.addObject(0x3b00, 0x05f0, OBJECTTABLE1_02, 0x89, 0)

	// These blocker objects can lead to the character getting stuck briefly in the top of the loop, or even dies
	//  -> This area is now using multisample collision, which solves the issue
/*
	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 0)
	{
		LevelObjectTableBuilder.addObject(0x3b20, 0x05b8, OBJECTTABLE1_6b, 0x41, LVLOBJ_FLIP_X)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x3b20, 0x05a8, OBJECTTABLE1_6b, 0x41, LVLOBJ_FLIP_X)
	}

	LevelObjectTableBuilder.addObject(0x3b20, 0x05bf, OBJECTTABLE1_28, 0x31, 0)
*/
	LevelObjectTableBuilder.addObject(0x3ce8, 0x06e9, OBJECTTABLE1_6c, 0x8c, 0)
	LevelObjectTableBuilder.addObject(0x3db0, 0x06ed, OBJECTTABLE1_34, 0x06, 0)
	LevelObjectTableBuilder.addObject(0x3f90, 0x06c0, OBJECTTABLE1_ae, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x3fc0, 0x056c, OBJECTTABLE1_ba, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x4030, 0x06f0, OBJECTTABLE1_ad, 0x20, 0)
	LevelObjectTableBuilder.addObject(0x4078, 0x067d, OBJECTTABLE1_6b, 0x61, LVLOBJ_FLIP_Y)
	LevelObjectTableBuilder.addObject(0x4078, 0x0758, OBJECTTABLE1_af, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x4140, 0x0448, OBJECTTABLE1_85, 0x04, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 0)
	{
		LevelObjectTableBuilder.addObject(0x4180, 0x06e0, OBJECTTABLE1_ae, 0x00, 0)
		LevelObjectTableBuilder.addObject(0x41f8, 0x067d, OBJECTTABLE1_6b, 0x61, LVLOBJ_FLIP_Y)
		LevelObjectTableBuilder.addObject(0x41f8, 0x0758, OBJECTTABLE1_af, 0x02, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x4170, 0x06e3, OBJECTTABLE1_ae, 0x00, 0)
		LevelObjectTableBuilder.addObject(0x4218, 0x067d, OBJECTTABLE1_6b, 0x61, LVLOBJ_FLIP_Y)
		LevelObjectTableBuilder.addObject(0x4218, 0x0758, OBJECTTABLE1_af, 0x02, 0)
	}

	LevelObjectTableBuilder.addObject(0x4240, 0x0491, OBJECTTABLE1_0f, 0x82, 0)
	LevelObjectTableBuilder.addObject(0x4240, 0x0574, OBJECTTABLE1_b6, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x4240, 0x057c, OBJECTTABLE1_33, 0x03, 0)
	LevelObjectTableBuilder.addObject(0x42c0, 0x0474, OBJECTTABLE1_b6, 0x00, LVLOBJ_FLIP_X)
	LevelObjectTableBuilder.addObject(0x42c0, 0x047c, OBJECTTABLE1_33, 0x02, 0)
	LevelObjectTableBuilder.addObject(0x42c0, 0x0591, OBJECTTABLE1_0f, 0x83, 0)

	if (Game.getSetting(SETTING_LEVELLAYOUTS) == 0)
	{
		LevelObjectTableBuilder.addObject(0x4300, 0x06a0, OBJECTTABLE1_b9, 0x18, 0)
		LevelObjectTableBuilder.addObject(0x4490, 0x05b8, OBJECTTABLE1_bd, 0x00, 0)
	}
	else
	{
		LevelObjectTableBuilder.addObject(0x4490, 0x05b8, OBJECTTABLE1_bd, 0x00, 0)
		LevelObjectTableBuilder.addObject(0x44a0, 0x06a0, OBJECTTABLE1_b9, 0x18, 0)
	}

	LevelObjectTableBuilder.addObject(0x46f0, 0x06d8, OBJECTTABLE1_26, 0x00, 0)
	LevelObjectTableBuilder.addObject(0x471c, 0x06d0, OBJECTTABLE1_b9, 0x08, 0)
	LevelObjectTableBuilder.addObject(0x4734, 0x06d0, OBJECTTABLE1_b9, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x4754, 0x06d0, OBJECTTABLE1_b9, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x4774, 0x06d0, OBJECTTABLE1_b9, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x4794, 0x06d0, OBJECTTABLE1_b9, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x47b4, 0x06d0, OBJECTTABLE1_b9, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x47d4, 0x06d0, OBJECTTABLE1_b9, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x47f4, 0x06d0, OBJECTTABLE1_b9, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x4814, 0x06d0, OBJECTTABLE1_b9, 0x90, 0)
	LevelObjectTableBuilder.addObject(0x4834, 0x06d0, OBJECTTABLE1_b9, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x4854, 0x06d0, OBJECTTABLE1_b9, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x4874, 0x06d0, OBJECTTABLE1_b9, 0x10, 0)
	LevelObjectTableBuilder.addObject(0x4894, 0x06d0, OBJECTTABLE1_b9, 0x10, 0)

	u16[A0] = 0xffff
	A0 += 2
}
